Don't create GdkWindows with NULL parents
authorAlexander Larsson <alexl@redhat.com>
Thu, 27 Sep 2012 11:46:26 +0000 (13:46 +0200)
committerAlexander Larsson <alexl@redhat.com>
Thu, 27 Sep 2012 11:46:26 +0000 (13:46 +0200)
This is not multi-display safe, you always need to pick the right
parent based on which screen your widget is at.

gtk/gtktexthandle.c
gtk/gtktreeview.c

index 00f43f8473604d7812d5904dfb95e565123a9d46..3738d02c0c2735402f5b20800ef4a34a52a7cdd9 100644 (file)
@@ -195,7 +195,8 @@ _gtk_text_handle_create_window (GtkTextHandle *handle)
       mask |= GDK_WA_VISUAL;
     }
 
-  window = gdk_window_new (NULL, &attributes, mask);
+  window = gdk_window_new (gtk_widget_get_root_window (priv->parent),
+                          &attributes, mask);
   gdk_window_set_user_data (window, priv->parent);
   gdk_window_set_background_rgba (window, &bg);
 
index 686310ca184c858968c371db1d58abc622b8759e..263fe5916f8ade5157208840d93eb555b6dffc1b 100644 (file)
@@ -3923,7 +3923,7 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
           attributes.y = y;
          attributes.width = width;
          attributes.height = height;
-         tree_view->priv->drag_highlight_window = gdk_window_new (NULL, &attributes, attributes_mask);
+         tree_view->priv->drag_highlight_window = gdk_window_new (gtk_widget_get_root_window (widget), &attributes, attributes_mask);
          gdk_window_set_user_data (tree_view->priv->drag_highlight_window, GTK_WIDGET (tree_view));
 
          mask_image = cairo_image_surface_create (CAIRO_FORMAT_A1, width, height);